﻿using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Console.Write("请输入一个正整数：");
        if (int.TryParse(Console.ReadLine(), out int n) && n > 1)
        {
            Console.Write($"{n} = ");
            List<int> factors = PrimeFactorization(n);

            // 输出分解结果
            for (int i = 0; i < factors.Count; i++)
            {
                Console.Write(factors[i]);
                if (i < factors.Count - 1)
                    Console.Write(" * ");
            }
            Console.WriteLine();
        }
        else
        {
            Console.WriteLine("输入无效，请输入大于1的正整数。");
        }
    }

    // 分解质因数的方法
    static List<int> PrimeFactorization(int n)
    {
        List<int> factors = new List<int>();
        int k = 2; // 最小的质数

        while (k <= n)
        {
            if (n % k == 0) // 如果n能被k整除
            {
                factors.Add(k);
                n /= k; // 用n除以k的商作为新的n
            }
            else
            {
                k++; // 如果不能整除，则尝试下一个数
            }
        }

        return factors;
    }
}